Skip to content

chore(data): weekly link freshness pass - #21

Closed
github-actions[bot] wants to merge 1 commit into
mainfrom
automated/link-freshness
Closed

chore(data): weekly link freshness pass#21
github-actions[bot] wants to merge 1 commit into
mainfrom
automated/link-freshness

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Automated by .github/workflows/link-freshness.yml.

tools/check-links.mjs probed every URL in every column, followed
redirects, and rewrote the rows whose URL now resolves somewhere else.

Dead URLs are deliberately not touched. A 404 has no known
replacement and inventing one would put a fabrication in the dataset;
they are listed in datasets/link-health.json under findings with
"outcome": "dead" for a human to resolve.

403 and 429 are recorded as blocked, not dead — being refused
by a bot-detecting CDN says nothing about whether the page exists, so
those never drive a correction either.

Per-run totals are appended to datasets/link-health-history.csv.
The series is the interesting output; a single snapshot is not.

@in-c0

in-c0 commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Superseded by #22 — this PR's corrections were locale redirects (?hl=zh-cn etc), a bug in the checker rather than real moves. #22 fixes the cause and strips the 212 language parameters an earlier pass baked in; the next scheduled run will open a clean PR.

@in-c0 in-c0 closed this Aug 28, 2026
@in-c0
in-c0 deleted the automated/link-freshness branch August 28, 2026 02:32
in-c0 added a commit that referenced this pull request Aug 28, 2026
Google's documentation redirects to whichever locale it infers from the client.
The checker followed those redirects and recorded the destination as canonical,
so a --fix pass pinned English rows to whatever language the runner looked like
that day: 212 URLs across the dataset carried ?hl=pt-br, ?hl=ar, ?hl=he and
similar. None were there before #17 — this was my regression, and the first
automated PR (#21) was about to add six more.

Two changes. Requests now send Accept-Language: en-US,en;q=0.9, so the redirect
mostly does not happen. And normalise() drops language-selection parameters, so a
redirect that only picks a translation classifies as `ok` rather than `moved` and
never produces a correction. A genuine move that happens to land on a localised
URL still counts as moved, with the language stripped before it is written.

--fix now also strips language parameters an earlier pass baked in: 212 cleaned,
zero remaining.

Side effect worth noting: `moved` drops from 41.7% at the baseline to 0.1%. Some
of that fall was the redirect repair working, but part of the original figure was
this bug counting translations as moves.

Co-authored-by: AvaKim <avajiyo@gmail.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant